Consumer products such as a Set-Top-Boxes, digital video recording devices, mobile phones, DVD players/recorders, televisions and MP3 players are generally controlled by embedded software or firmware. Such software is required to handle an ever increasing number of formats for audio-video content and will therefore need to be updated or upgraded to ensure that a consumer product does not become obsolete in a short period of time. Furthermore, since such software is quite complex it can occur that untested portions of the software may comprise errors, such errors are often termed bugs. Such software bugs should ideally be corrected by upgrading the software. Therefore it is beneficial to be able to upgrade the software in a consumer product. However, one problem is that consumer products do not generally have a suitable manner of upgrading the software embedded in the consumer product.
In UK patent application GB 2400194A a method is disclosed for upgrading software in a consumer product. A consumer product, such as a mobile phone, digital radio or set-top box, is provided with a micro-controller having a CPU, non-volatile memory and a reading device. A removable recording medium bearing one or more files containing program instructions is loaded into the reading device. The device determines whether the files stored on the recording medium relate to data or program instructions. If the files relate to data then these are output in the usual manner. If the files contain program instructions then these instructions are loaded into a re-writable memory within the consumer product and are executed. Files not relevant to the consumer product are ignored. In certain embodiments, files determined to be old are also ignored.
In GB 2400194A it is assumed that the files contained upon the removable recording medium are the correct files for upgrading the consumer product, however, ensuring this is unnecessarily complex and frustrating for consumers. Consumers are forced to identify and download the exact files required by the consumer product in question. In an attempt to provide a more sensible and simple manner of upgrading software on consumer products to consumers the inventors devised the present invention.